Technical Field
This invention relates to controllers for a data processing system and in particular it relates to data management controllers and data transport controllers for a data processing system.
Related Field
A data processing system may run one or more applications. Each of these applications may be a producer of data and/or a consumer of data. The applications that consume data may also process the data they consume and thus also be producers of data. The consumers may process data that has been produced by at least one of the applications that produces data. There is therefore a requirement in such data processing systems to deliver data between each of these producers and consumers.
In environments such as a control system environment and/or other regulated processing environments, such as in financial institutions, the delivery of data between the various applications may be restricted so that only certain consumers of the data are allowed access to the produced data. There may also be a requirement that, whilst certain data consumer applications can have access to data produced by a data producer application, the data consumer application is not permitted direct access to the data producer application itself and/or even to know that the data producer application is running. This is because the individual applications may be provided by different vendors who do not want a competing vendor to have access to the application itself but may need access to the data the application produces. For example, in an automotive environment a sensor manufacturer may have produced a sensor for use on a car which produces data that is processed by another manufacturer's equipment. In such a case, the other manufacturer's equipment needs access to the data, but the sensor manufacturer may not want the other manufacturer directly probing the configuration of the sensor.
There may also be regulatory restrictions which define how often data can be supplied to a consumer, or how often a consumer can process the data. For example, in a financial institution a process may only be permitted to access live data once every time period, such as once every 10 seconds.
In such environments, there can be a large processing overhead in the selective delivery of data between the data producer applications and data consumer applications. Such overheads can make it expensive and difficult to operate such a system reliably because potentially a large amount of data is required to be sent to a large number of recipients with a high frequency. The reliability of such systems can be critical where the system operates in a control system environment or provides data to applications that provide safety or transactional operations.
There is therefore a need for an improved data processing system that can provide the required level of reliable operation.